<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <meta http-equiv="X-UA-Compatible" content="ie=edge">
    <title>大事件-后台首页</title>
    <link rel="stylesheet" href="./libs/bootstrap/css/bootstrap.min.css">
    <link rel="stylesheet" href="css/reset.css">
    <link rel="stylesheet" href="css/iconfont.css">
    <link rel="stylesheet" href="css/main.css">
    <script src="./libs/jquery-1.12.4.min.js"></script>
    <!-- 导入bootstrap的js文件 -->
    <script src="./libs/bootstrap/js/bootstrap.min.js"></script>

</head>

<body>
    <div class="sider">
        <a href="#" class="logo"><img src="images/logo02.png" alt="logo"></a>
        <div class="user_info">
            <img src="images/2.jpg" alt="person">
            <span>欢迎&nbsp;&nbsp;李思思</span>
            <b>管理员</b>
        </div>
        <!-- 左侧导航栏 -->
        <div class="menu">
            <div class="level01 active"><a href="./main_count.html" target="main_frame"><i
                       class="iconfont icon-yidiandiantubiao04"></i><span>首页</span></a></div>

            <div class="level01"><a href="./article_list.html" target="main_frame"><i
                       class="iconfont icon-icon-article"></i><span>文章管理</span><b
                       class="iconfont icon-arrowdownl"></b></a></div>

            <ul class="level02">
                <li><a href="./article_list.html" target="main_frame"><i
                           class="iconfont icon-previewright"></i><span>文章列表</span></a></li>
                <li><a href="./article_release.html" target="main_frame"><i
                           class="iconfont icon-previewright"></i><span>发表文章</span></a></li>
                <li><a href="./article_category.html" target="main_frame"><i
                           class="iconfont icon-previewright"></i><span>文章类别管理</span></a>
                </li>
            </ul>

            <div class="level01"><a href="./comment_list.html" target="main_frame"><i
                       class="iconfont icon-comment"></i><span>评论管理</span></a></div>
            <div class="level01" id="user"><a href="./user.html" target="main_frame"><i
                       class="iconfont icon-user"></i><span>个人中心</span></a></div>
        </div>
        <!-- 顶部栏 -->
        <div class="header_bar">
            <div class="user_center_link">
                <a href="./user.html" target="main_frame">个人中心</a>
                <img src="images/2.jpg" alt="person">
                <a href="javascript:void(0)" class="logout"><i class="iconfont icon-tuichu"></i> 退出</a>
            </div>
        </div>
        <!-- 右侧主体内容 -->
        <div class="main" id="main_body">
            <!-- 准备一个网页容器 -->
            <iframe name="main_frame" src="./main_count.html" style="width: 100%; height: 100%;"></iframe>
        </div>
    </div>
</body>

</html>

<!-- 导入https文件 -->
<script src="./libs/https.js"></script>
<script>
    $(function () {

        // 0. 通过ajax方法来设置全局ajax属性
        // 将请求头携带token设置为全局属性,只需要写一次,当前整个页面都可以使用
        // $.ajaxSetup({
        //     // 当ajax即将发起请求之前,会执行以下的函数
        //     beforeSend: function (xhr) {
        //         // 给请求头设置token数据
        //         xhr.setRequestHeader('Authorization', localStorage.getItem('token80'))
        //     }
        // })
        // 问题: 以上的代码只能在当前页面生效, 是否可以只写一次,就让所有的页面都生效
        // 解决: 将以上代码单独抽取成为一个js文件,谁需要就导入即可
        // 小技巧: 上面的代码很少,如果单独设置一个文件有点浪费,能不能跟别人借一块地方来用用




        // 1. 发起请求,获得用户的基本信息
        // 直接发起访问,会报错: 被禁止访问403, 因为后台无法确定你是否已经登录
        // 在发起ajax请求的时候,携带在登录成功之后返回的token数据
        // localStorage.getItem('token80')
        $.ajax({
            type: 'get',
            url: BigNew.user_info,
            success: function (backData) {
                // console.log(backData);
                if (backData.code == 200) {
                    // 3. 将用户信息渲染到指定结构
                    $('.user_info img, .user_center_link img').attr('src', backData.data.userPic);
                    $('.user_info span').html(`欢迎&nbsp;&nbsp;${backData.data.nickname}`);
                }
            },

            // 当请求报错的时候,会执行以下的代码
            error: function (xhr, status, err) {
                // 判断报错的原因是否是因为用户没有登录
                console.log(err);
                if (err == 'Forbidden') {
                    // 代表用户并没有登录,应该让用户跳转回登录页面
                     alert('亲爱的傻猪猪用户,你还么有登录,赶紧回去登录先!');
                     window.location = './login.html';
                }
            }
        })

        // 4. 给退出按钮设置点击事件
        $('.logout').on('click',function(e){
            // 5. 删除token,跳转回登录页面
             alert('用户退出成功,请重新登录');
             localStorage.removeItem('token80');
             window.location = './login.html';
        })

        // 6. 给一级菜单设置点击事件
        $('.level01').on('click',function(e){
            // 7. 给当前按钮设置类名,移除兄弟元素的类名
            $(this).addClass('active').siblings('.level01').removeClass('active');

            // 8. 判断是否点击了文章管理按钮
            // 通过文字,也可以通过下标
            if ($(this).index() == 1) {
                // 9. 显示/隐藏二级菜单
                // slideToggle
                $('.level02').slideToggle();

                // 10. 控制箭头的动画
                // 添加/移除rotate0类名
                // toggleClass: 如果有就移除,如果没有就添加
                $('.icon-arrowdownl').toggleClass('rotate0');

                // 利用代码调用二级菜单的点击事件
                $('.level02 li').eq(0).click();
            } else {
                // 如果点击了其他按钮,则要关闭,隐藏二级菜单
                $('.level02').slideUp();
                $('.icon-arrowdownl').removeClass('rotate0');
            }

        })

        // 11. 给所有二级菜单设置点击事件
        $('.level02 li').on('click',function(e){
            // 设置点击高亮
            $(this).addClass('active').siblings().removeClass('active');
        })
    })
</script>